home *** CD-ROM | disk | FTP | other *** search
/ Aminet 45 / Aminet 45 (2001)(GTI - Schatztruhe)[!][Oct 2001].iso / Aminet / misc / sci / Squid.lha / Squid / squid.c < prev    next >
Encoding:
C/C++ Source or Header  |  2001-07-30  |  52.6 KB  |  993 lines

  1. /* code was generated by Emperor */
  2.  
  3. #define CATCOMP_NUMBERS
  4. #define CATCOMP_STRINGS
  5. #define ALL_REACTION_CLASSES
  6. #define ALL_REACTION_MACROS
  7. #include <stdio.h>
  8. #include <stdlib.h>
  9. #include <string.h>
  10. #include <clib/alib_protos.h>
  11. #include <clib/asl_protos.h>
  12. #include <clib/dos_protos.h>
  13. #include <clib/exec_protos.h>
  14. #include <clib/gadtools_protos.h>
  15. #include <clib/graphics_protos.h>
  16. #include <clib/intuition_protos.h>
  17. #include <clib/locale_protos.h>
  18. #include <clib/utility_protos.h>
  19. #include <clib/wb_protos.h>
  20. #include <clib/colorwheel_protos.h>
  21. #include <clib/datebrowser_protos.h>
  22. #include <clib/resource_protos.h>
  23. #include <clib/texteditor_protos.h>
  24. #include <gadgets/colorwheel.h>
  25. #include <gadgets/datebrowser.h>
  26. #include <gadgets/gradientslider.h>
  27. #include <gadgets/tapedeck.h>
  28. #include <gadgets/texteditor.h>
  29. #include <proto/texteditor.h>
  30. #include <reaction/reaction.h>
  31. #include <intuition/icclass.h>
  32. #include <intuition/imageclass.h>
  33. #include <intuition/gadgetclass.h>
  34. #include <workbench/startup.h>
  35. #include <wbstartup.h>
  36.  
  37. #define TapeDeckObject   NewObject(NULL, "tapedeck.gadget"
  38. #define TextEditorObject NewObject(TEXTEDITOR_GetClass(), NULL
  39.  
  40. #define LOCALE_WINDOW_TITLE1 GetCatalogStr(Catalog, 0, "Window")
  41. #define LOCALE_SCREEN_TITLE1 GetCatalogStr(Catalog, 1, "Workbench Screen")
  42. #define LOCALE_ICONIFIED_TITLE1 GetCatalogStr(Catalog, 2, "Iconified")
  43. #define LOCALE_VERTICAL_LAYOUT2 GetCatalogStr(Catalog, 3, "Parameters")
  44. #define LOCALE_VERTICAL_LAYOUT3 GetCatalogStr(Catalog, 4, "Actions")
  45. #define LOCALE_INTEGER1_LABEL GetCatalogStr(Catalog, 5, "Number of cells")
  46. #define LOCALE_STRING2_LABEL GetCatalogStr(Catalog, 6, "x size")
  47. #define LOCALE_STRING3_LABEL GetCatalogStr(Catalog, 7, "y size")
  48. #define LOCALE_BUTTON1_LABEL GetCatalogStr(Catalog, 8, "_Go")
  49. #define LOCALE_BUTTON2_LABEL GetCatalogStr(Catalog, 9, "_Default")
  50. #define LOCALE_BUTTON3_LABEL GetCatalogStr(Catalog, 10, "_Close")
  51. #define LOCALE_STRING1_LABEL GetCatalogStr(Catalog, 11, "Message")
  52.  
  53. #define Layout4 Gadget1[1]
  54. #define Layout1 Gadget1[2]
  55. #define Layout2 Gadget1[3]
  56. #define Integer1 Gadget1[4]
  57. #define Label1 Gadget1[5]
  58. #define String2 Gadget1[6]
  59. #define Label2 Gadget1[7]
  60. #define String3 Gadget1[8]
  61. #define Label3 Gadget1[9]
  62. #define Space1 Gadget1[10]
  63. #define Layout3 Gadget1[11]
  64. #define Button1 Gadget1[12]
  65. #define Button2 Gadget1[13]
  66. #define Button3 Gadget1[14]
  67. #define Layout5 Gadget1[15]
  68. #define String1 Gadget1[16]
  69. #define Label4 Gadget1[17]
  70.  
  71.  
  72. void Integer1_GadgetUp_Event(void);
  73. void Button1_GadgetUp_Event(void);
  74. void Button2_GadgetUp_Event(void);
  75. void Button3_GadgetUp_Event(void);
  76. void Window1_CloseWindow_Event(void);
  77. void Startup(void);
  78. void Shutdown(void);
  79. void Emperor_InitProgram(void);
  80. void Emperor_QuitProgram(void);
  81. void Emperor_CloseWindow_Window1(void);
  82. struct Window *Emperor_OpenWindow_Window1(void);
  83. STRPTR Emperor_GetGadgetAttr(struct Gadget *);
  84. void Emperor_SetGadgetAttr(struct Gadget *, STRPTR);
  85. ULONG stringlength(STRPTR);
  86. LONG stringtoint(STRPTR);
  87. DOUBLE stringtofloat(STRPTR);
  88. STRPTR inttostring(LONG);
  89.  
  90. const char VERSION[] = "$VER: squid 1.50 (22-Jun-2001)";
  91. const char AUTHOR[] = "Olivier Martin";
  92.  
  93. BYTE Emperor_Gadgetkind1[] = { 0, 12, 12, 12, 11, 26, 20, 26, 20, 26, 18, 12, 0, 0, 0, 12, 20, 26, -1 };
  94.  
  95. void *vinfo = NULL;
  96. BOOL os35 = TRUE;
  97. BOOL terminated = FALSE;
  98. ULONG WindowSignals1 = 0L;
  99. Object *WindowObject1 = NULL;
  100. struct Catalog *Catalog = NULL;
  101. struct Gadget *Gadget1[18];
  102. struct Library *IntuitionBase = NULL;
  103. struct Library *LocaleBase = NULL;
  104. struct Library *GadToolsBase = NULL;
  105. struct Library *ASLBase = NULL;
  106. struct Library *DOSLibBase = NULL;
  107. struct Library *ResourceBase = NULL;
  108. struct Library *WindowBase = NULL;
  109. struct Library *RequesterBase = NULL;
  110. struct Library *ButtonBase = NULL;
  111. struct Library *CheckBoxBase = NULL;
  112. struct Library *ChooserBase = NULL;
  113. struct Library *ClickTabBase = NULL;
  114. struct Library *ColorWheelBase = NULL;
  115. struct Library *DateBrowserBase = NULL;
  116. struct Library *FuelGaugeBase = NULL;
  117. struct Library *GetFileBase = NULL;
  118. struct Library *GetFontBase = NULL;
  119. struct Library *GetScreenModeBase = NULL;
  120. struct Library *GradientSliderBase = NULL;
  121. struct Library *IntegerBase = NULL;
  122. struct Library *LayoutBase = NULL;
  123. struct Library *ListBrowserBase = NULL;
  124. struct Library *PaletteBase = NULL;
  125. struct Library *RadioButtonBase = NULL;
  126. struct Library *ScrollerBase = NULL;
  127. struct Library *SliderBase = NULL;
  128. struct Library *SpaceBase = NULL;
  129. struct Library *SpeedBarBase = NULL;
  130. struct Library *StringBase = NULL;
  131. struct Library *TapeDeckBase = NULL;
  132. struct Library *TextEditorBase = NULL;
  133. struct Library *BevelBase = NULL;
  134. struct Library *BitMapBase = NULL;
  135. struct Library *GlyphBase = NULL;
  136. struct Library *LabelBase = NULL;
  137. struct MsgPort *AppPort = NULL;
  138. struct MsgPort *MsgPort = NULL;
  139. struct Screen *Screen1 = NULL;
  140. struct Window *Window1 = NULL;
  141.  
  142. UWORD xsize = 100;
  143. UWORD ysize = 100;
  144. UWORD squid_cell = 100;
  145. ULONG Emperor_Input = 0L;
  146. ULONG Emperor_Code = 0L;
  147.  
  148. void main(void)
  149. {
  150.     struct IntuiMessage *IntuiMessage = NULL;
  151.     struct Gadget *GadgetMessage = NULL;
  152.  
  153.     Emperor_InitProgram();
  154.     Startup();
  155.     Emperor_OpenWindow_Window1();
  156.     while(!terminated)
  157.     {
  158.         Wait(WindowSignals1);
  159.         while((Emperor_Input = RA_HandleInput(WindowObject1, &Emperor_Code)) != WMHI_LASTMSG)
  160.         {
  161.             switch(Emperor_Input & WMHI_CLASSMASK)
  162.             {
  163.                 case WMHI_GADGETUP:
  164.                     switch(Emperor_Input & WMHI_GADGETMASK)
  165.                     {
  166.                         case 3: Integer1_GadgetUp_Event(); break;
  167.                         case 2: Button1_GadgetUp_Event(); break;
  168.                         case 7: Button2_GadgetUp_Event(); break;
  169.                         case 12: Button3_GadgetUp_Event(); break;
  170.                         default: break;
  171.                     }
  172.                     break;
  173.                 case WMHI_GADGETHELP:
  174.                     switch(Emperor_Input & WMHI_GADGETMASK)
  175.                     {
  176.                         default: break;
  177.                     }
  178.                     break;
  179.                 case WMHI_MENUPICK:
  180.                     switch(Emperor_Input & WMHI_MENUMASK)
  181.                     {
  182.                         default: break;
  183.                     }
  184.                     break;
  185.                 case WMHI_MENUHELP:
  186.                     switch(Emperor_Input & WMHI_MENUMASK)
  187.                     {
  188.                         default: break;
  189.                     }
  190.                     break;
  191.                 case WMHI_CLOSEWINDOW:
  192.                     Window1_CloseWindow_Event();
  193.                     break;
  194.                 case WMHI_ICONIFY:
  195.                     break;
  196.                 case WMHI_UNICONIFY:
  197.                     break;
  198.                 case WMHI_ACTIVE:
  199.                     break;
  200.                 case WMHI_INACTIVE:
  201.                     break;
  202.                 case WMHI_RAWKEY:
  203.                     break;
  204.                 case WMHI_VANILLAKEY:
  205.                     break;
  206.                 case WMHI_MOUSEBUTTONS:
  207.                     break;
  208.                 case WMHI_MOUSEMOVE:
  209.                     break;
  210.                 case WMHI_NEWSIZE:
  211.                     break;
  212.                 case WMHI_CHANGEWINDOW:
  213.                     break;
  214.                 case WMHI_DISPOSEDWINDOW:
  215.                     break;
  216.                 case WMHI_INTUITICK:
  217.                     break;
  218.             }
  219.         }
  220.     }
  221.     Emperor_QuitProgram();
  222. }
  223.  
  224. void wbmain(struct WBStartup *Emperor_ArgMsg)
  225. {
  226.     main();
  227. }
  228.  
  229. void Emperor_InitProgram(void)
  230. {
  231.     UWORD Emperor_InitVar = 0;
  232.     char Emperor_OccuredError[50], Emperor_ExceptionString[300];
  233.     struct EasyStruct EmperorRequest_InitializationErrorRequest;
  234.  
  235.     IntuitionBase = OpenLibrary("intuition.library", 39L);
  236.     if(!IntuitionBase)
  237.     {
  238.         Emperor_InitVar = 1;
  239.         strcpy(Emperor_OccuredError, "intuition.library");
  240.     }
  241.     LocaleBase = OpenLibrary("locale.library", 39L);
  242.     if(!LocaleBase)
  243.     {
  244.         Emperor_InitVar = 1;
  245.         strcpy(Emperor_OccuredError, "locale.library");
  246.     }
  247.     GadToolsBase = OpenLibrary("gadtools.library", 39L);
  248.     if(!GadToolsBase)
  249.     {
  250.         Emperor_InitVar = 1;
  251.         strcpy(Emperor_OccuredError, "gadtools.library");
  252.     }
  253.     ASLBase = OpenLibrary("asl.library", 39L);
  254.     if(!ASLBase)
  255.     {
  256.         Emperor_InitVar = 1;
  257.         strcpy(Emperor_OccuredError, "asl.library");
  258.     }
  259.     DOSLibBase = OpenLibrary("dos.library", 39L);
  260.     if(!DOSLibBase)
  261.     {
  262.         Emperor_InitVar = 1;
  263.         strcpy(Emperor_OccuredError, "dos.library");
  264.     }
  265.     ResourceBase = OpenLibrary("resource.library", 44L);
  266.     if(!ResourceBase)
  267.     {
  268.         Emperor_InitVar = 1;
  269.         strcpy(Emperor_OccuredError, "resource.library");
  270.     }
  271.     WindowBase = OpenLibrary("window.class", 44L);
  272.     if(!WindowBase)
  273.     {
  274.         Emperor_InitVar = 1;
  275.         strcpy(Emperor_OccuredError, "window.class");
  276.     }
  277.     RequesterBase = OpenLibrary("requester.class", 42L);
  278.     if(!RequesterBase)
  279.     {
  280.         Emperor_InitVar = 1;
  281.         strcpy(Emperor_OccuredError, "requester.class");
  282.     }
  283.     ButtonBase = OpenLibrary("gadgets/button.gadget", 44L);
  284.     if(!ButtonBase)
  285.     {
  286.         Emperor_InitVar = 1;
  287.         strcpy(Emperor_OccuredError, "gadgets/button.gadget");
  288.     }
  289.     CheckBoxBase = OpenLibrary("gadgets/checkbox.gadget", 44L);
  290.     if(!CheckBoxBase)
  291.     {
  292.         Emperor_InitVar = 1;
  293.         strcpy(Emperor_OccuredError, "gadgets/checkbox.gadget");
  294.     }
  295.     ChooserBase = OpenLibrary("gadgets/chooser.gadget", 44L);
  296.     if(!ChooserBase)
  297.     {
  298.         Emperor_InitVar = 1;
  299.         strcpy(Emperor_OccuredError, "gadgets/chooser.gadget");
  300.     }
  301.     ClickTabBase = OpenLibrary("gadgets/clicktab.gadget", 44L);
  302.     if(!ClickTabBase)
  303.     {
  304.         Emperor_InitVar = 1;
  305.         strcpy(Emperor_OccuredError, "gadgets/clicktab.gadget");
  306.     }
  307.     ColorWheelBase = OpenLibrary("gadgets/colorwheel.gadget", 44L);
  308.     if(!ColorWheelBase)
  309.     {
  310.         Emperor_InitVar = 1;
  311.         strcpy(Emperor_OccuredError, "gadgets/colorwheel.gadget");
  312.     }
  313.     DateBrowserBase = OpenLibrary("gadgets/datebrowser.gadget", 44L);
  314.     if(!DateBrowserBase)
  315.     {
  316.         Emperor_InitVar = 1;
  317.         strcpy(Emperor_OccuredError, "gadgets/datebrowser.gadget");
  318.     }
  319.     FuelGaugeBase = OpenLibrary("gadgets/fuelgauge.gadget", 44L);
  320.     if(!FuelGaugeBase)
  321.     {
  322.         Emperor_InitVar = 1;
  323.         strcpy(Emperor_OccuredError, "gadgets/fuelgauge.gadget");
  324.     }
  325.     GetFileBase = OpenLibrary("gadgets/getfile.gadget", 44L);
  326.     if(!GetFileBase)
  327.     {
  328.         Emperor_InitVar = 1;
  329.         strcpy(Emperor_OccuredError, "gadgets/getfile.gadget");
  330.     }
  331.     GetFontBase = OpenLibrary("gadgets/getfont.gadget", 44L);
  332.     if(!GetFontBase)
  333.     {
  334.         Emperor_InitVar = 1;
  335.         strcpy(Emperor_OccuredError, "gadgets/getfont.gadget");
  336.     }
  337.     GetScreenModeBase = OpenLibrary("gadgets/getscreenmode.gadget", 44L);
  338.     if(!GetScreenModeBase)
  339.     {
  340.         Emperor_InitVar = 1;
  341.         strcpy(Emperor_OccuredError, "gadgets/getscreenmode.gadget");
  342.     }
  343.     GradientSliderBase = OpenLibrary("gadgets/gradientslider.gadget", 44L);
  344.     if(!GradientSliderBase)
  345.     {
  346.         Emperor_InitVar = 1;
  347.         strcpy(Emperor_OccuredError, "gadgets/gradientslider.gadget");
  348.     }
  349.     IntegerBase = OpenLibrary("gadgets/integer.gadget", 44L);
  350.     if(!IntegerBase)
  351.     {
  352.         Emperor_InitVar = 1;
  353.         strcpy(Emperor_OccuredError, "gadgets/integer.gadget");
  354.     }
  355.     LayoutBase = OpenLibrary("gadgets/layout.gadget", 44L);
  356.     if(!LayoutBase)
  357.     {
  358.         Emperor_InitVar = 1;
  359.         strcpy(Emperor_OccuredError, "gadgets/layout.gadget");
  360.     }
  361.     ListBrowserBase = OpenLibrary("gadgets/listbrowser.gadget", 44L);
  362.     if(!ListBrowserBase)
  363.     {
  364.         Emperor_InitVar = 1;
  365.         strcpy(Emperor_OccuredError, "gadgets/listbrowser.gadget");
  366.     }
  367.     PaletteBase = OpenLibrary("gadgets/palette.gadget", 44L);
  368.     if(!PaletteBase)
  369.     {
  370.         Emperor_InitVar = 1;
  371.         strcpy(Emperor_OccuredError, "gadgets/palette.gadget");
  372.     }
  373.     RadioButtonBase = OpenLibrary("gadgets/radiobutton.gadget", 44L);
  374.     if(!RadioButtonBase)
  375.     {
  376.         Emperor_InitVar = 1;
  377.         strcpy(Emperor_OccuredError, "gadgets/radiobutton.gadget");
  378.     }
  379.     ScrollerBase = OpenLibrary("gadgets/scroller.gadget", 44L);
  380.     if(!ScrollerBase)
  381.     {
  382.         Emperor_InitVar = 1;
  383.         strcpy(Emperor_OccuredError, "gadgets/scroller.gadget");
  384.     }
  385.     SliderBase = OpenLibrary("gadgets/slider.gadget", 44L);
  386.     if(!SliderBase)
  387.     {
  388.         Emperor_InitVar = 1;
  389.         strcpy(Emperor_OccuredError, "gadgets/slider.gadget");
  390.     }
  391.     SpaceBase = OpenLibrary("gadgets/space.gadget", 44L);
  392.     if(!SpaceBase)
  393.     {
  394.         Emperor_InitVar = 1;
  395.         strcpy(Emperor_OccuredError, "gadgets/space.gadget");
  396.     }
  397.     SpeedBarBase = OpenLibrary("gadgets/speedbar.gadget", 44L);
  398.     if(!SpeedBarBase)
  399.     {
  400.         Emperor_InitVar = 1;
  401.         strcpy(Emperor_OccuredError, "gadgets/speedbar.gadget");
  402.     }
  403.     StringBase = OpenLibrary("gadgets/string.gadget", 44L);
  404.     if(!StringBase)
  405.     {
  406.         Emperor_InitVar = 1;
  407.         strcpy(Emperor_OccuredError, "gadgets/string.gadget");
  408.     }
  409.     TapeDeckBase = OpenLibrary("gadgets/tapedeck.gadget", 40L);
  410.     if(!TapeDeckBase)
  411.     {
  412.         Emperor_InitVar = 1;
  413.         strcpy(Emperor_OccuredError, "gadgets/tapedeck.gadget");
  414.     }
  415.     TextEditorBase = OpenLibrary("gadgets/texteditor.gadget", 15L);
  416.     if(!TextEditorBase)
  417.     {
  418.         Emperor_InitVar = 1;
  419.         strcpy(Emperor_OccuredError, "gadgets/texteditor.gadget");
  420.     }
  421.     BevelBase = OpenLibrary("images/bevel.image", 44L);
  422.     if(!BevelBase)
  423.     {
  424.         Emperor_InitVar = 1;
  425.         strcpy(Emperor_OccuredError, "images/bevel.image");
  426.     }
  427.     BitMapBase = OpenLibrary("images/bitmap.image", 44L);
  428.     if(!BitMapBase)
  429.     {
  430.         Emperor_InitVar = 1;
  431.         strcpy(Emperor_OccuredError, "images/bitmap.image");
  432.     }
  433.     GlyphBase = OpenLibrary("images/glyph.image", 44L);
  434.     if(!GlyphBase)
  435.     {
  436.         Emperor_InitVar = 1;
  437.         strcpy(Emperor_OccuredError, "images/glyph.image");
  438.     }
  439.     LabelBase = OpenLibrary("images/label.image", 44L);
  440.     if(!LabelBase)
  441.     {
  442.         Emperor_InitVar = 1;
  443.         strcpy(Emperor_OccuredError, "images/label.image");
  444.     }
  445.     Catalog = OpenCatalogA(NULL, "squid.catalog", NULL);
  446.     Screen1 = LockPubScreen(NULL);
  447.     if(!Screen1) Emperor_InitVar = 5;
  448.     else
  449.     {
  450.         vinfo = GetVisualInfo(Screen1, TAG_DONE);
  451.         if(!vinfo) Emperor_InitVar = 6;
  452.         else
  453.         {
  454.                 AppPort = CreateMsgPort();
  455.                 if(!AppPort) Emperor_InitVar = 8;
  456.  
  457.                 MsgPort = CreatePort("noname_Port", 0);
  458.                 if(!MsgPort) Emperor_InitVar = 8;
  459.         }
  460.     }
  461.     if((os35) && (!Emperor_InitVar))
  462.     {
  463.         WindowObject1 = (Object *) WindowObject,
  464.                         WA_Left, 0,
  465.                         WA_Top, 13,
  466.                         WA_Width, 100,
  467.                         WA_Height, 50,
  468.                         WA_DragBar, TRUE,
  469.                         WA_DepthGadget, TRUE,
  470.                         WA_CloseGadget, TRUE,
  471.                         WA_Activate, TRUE,
  472.                         WA_AutoAdjust, TRUE,
  473.                         WA_IDCMP, IDCMP_GADGETDOWN | IDCMP_GADGETUP | IDCMP_GADGETHELP | IDCMP_MENUPICK | IDCMP_MENUHELP | IDCMP_CLOSEWINDOW | IDCMP_ACTIVEWINDOW | IDCMP_INACTIVEWINDOW | IDCMP_RAWKEY | IDCMP_VANILLAKEY | IDCMP_MOUSEBUTTONS | IDCMP_MOUSEMOVE | IDCMP_NEWSIZE | IDCMP_CHANGEWINDOW | IDCMP_SIZEVERIFY | IDCMP_REFRESHWINDOW | IDCMP_INTUITICKS,
  474.                         WA_MinWidth, 0,
  475.                         WA_MinHeight, 0,
  476.                         WA_MaxWidth, 0,
  477.                         WA_MaxHeight, 0,
  478.                         WA_Title, LOCALE_WINDOW_TITLE1,
  479.                         WA_ScreenTitle, LOCALE_SCREEN_TITLE1,
  480.                         WA_PubScreen, Screen1,
  481.                         WINDOW_GadgetHelp, TRUE,
  482.                         WINDOW_IconifyGadget, FALSE,
  483.                         WINDOW_IconTitle, LOCALE_ICONIFIED_TITLE1,
  484.                         WINDOW_AppPort, AppPort,
  485.                         WINDOW_ParentGroup, (Object *) Gadget1[0] = (Object *) VGroupObject,
  486.                                             LAYOUT_SpaceOuter, TRUE,
  487.                                             LAYOUT_DeferLayout, TRUE,
  488.                                             LAYOUT_AddChild, (Object *) Gadget1[1] = (Object *) LayoutObject,
  489.                                                              GA_ID, 13,
  490.                                                              GA_RelVerify, TRUE,
  491.                                                              GA_GadgetHelp, TRUE,
  492.                                                              LAYOUT_Label, "",
  493.                                                              LAYOUT_Orientation, 1,
  494.                                                              LAYOUT_HorizAlignment, LALIGN_LEFT,
  495.                                                              LAYOUT_VertAlignment, LALIGN_TOP,
  496.                                                              LAYOUT_LabelPlace, BVJ_TOP_LEFT,
  497.                                                              LAYOUT_BevelState, IDS_NORMAL,
  498.                                                              LAYOUT_BevelStyle, 4,
  499.                                                              LAYOUT_AddChild, (Object *) Gadget1[2] = (Object *) LayoutObject,
  500.                                                                               GA_ID, 1,
  501.                                                                               GA_RelVerify, TRUE,
  502.                                                                               GA_GadgetHelp, TRUE,
  503.                                                                               LAYOUT_Label, "",
  504.                                                                               LAYOUT_Orientation, 0,
  505.                                                                               LAYOUT_LeftSpacing, 5,
  506.                                                                               LAYOUT_TopSpacing, 5,
  507.                                                                               LAYOUT_BottomSpacing, 5,
  508.                                                                               LAYOUT_RightSpacing, 5,
  509.                                                                               LAYOUT_InnerSpacing, 5,
  510.                                                                               LAYOUT_HorizAlignment, LALIGN_LEFT,
  511.                                                                               LAYOUT_VertAlignment, LALIGN_TOP,
  512.                                                                               LAYOUT_LabelPlace, BVJ_TOP_LEFT,
  513.                                                                               LAYOUT_BevelState, IDS_NORMAL,
  514.                                                                               LAYOUT_BevelStyle, 4,
  515.                                                                               LAYOUT_AddChild, (Object *) Gadget1[3] = (Object *) LayoutObject,
  516.                                                                                                GA_ID, 5,
  517.                                                                                                GA_RelVerify, TRUE,
  518.                                                                                                GA_GadgetHelp, TRUE,
  519.                                                                                                LAYOUT_Label, LOCALE_VERTICAL_LAYOUT2,
  520.                                                                                                LAYOUT_Orientation, 1,
  521.                                                                                                LAYOUT_LeftSpacing, 5,
  522.                                                                                                LAYOUT_TopSpacing, 5,
  523.                                                                                                LAYOUT_BottomSpacing, 5,
  524.                                                                                                LAYOUT_RightSpacing, 5,
  525.                                                                                                LAYOUT_InnerSpacing, 5,
  526.                                                                                                LAYOUT_HorizAlignment, LALIGN_LEFT,
  527.                                                                                                LAYOUT_VertAlignment, LALIGN_TOP,
  528.                                                                                                LAYOUT_LabelPlace, BVJ_TOP_LEFT,
  529.                                                                                                LAYOUT_BevelState, IDS_NORMAL,
  530.                                                                                                LAYOUT_BevelStyle, 2,
  531.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[4] = (Object *) IntegerObject,
  532.                                                                                                                 GA_ID, 3,
  533.                                                                                                                 GA_RelVerify, TRUE,
  534.                                                                                                                 GA_GadgetHelp, TRUE,
  535.                                                                                                                 GA_TabCycle, TRUE,
  536.                                                                                                                 INTEGER_Number, 100,
  537.                                                                                                                 INTEGER_MaxChars, 4,
  538.                                                                                                                 INTEGER_Minimum, 0,
  539.                                                                                                                 INTEGER_Maximum, 1000,
  540.                                                                                                                 INTEGER_MinVisible, 0,
  541.                                                                                                                 INTEGER_Arrows, TRUE,
  542.                                                                                                                 STRINGA_Justification, GACT_STRINGLEFT,
  543.                                                                                                End,
  544.                                                                                                CHILD_Label, (Object *) Gadget1[5] = (Object *) LabelObject,
  545.                                                                                                                 LABEL_Justification, 0,
  546.                                                                                                                 LABEL_Text, LOCALE_INTEGER1_LABEL,
  547.                                                                                                End,
  548.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[6] = (Object *) StringObject,
  549.                                                                                                                 GA_ID, 17,
  550.                                                                                                                 GA_RelVerify, TRUE,
  551.                                                                                                                 GA_GadgetHelp, TRUE,
  552.                                                                                                                 GA_TabCycle, TRUE,
  553.                                                                                                                 GA_ReadOnly, TRUE,
  554.                                                                                                                 STRINGA_TextVal, "",
  555.                                                                                                                 STRINGA_MaxChars, 20,
  556.                                                                                                                 STRINGA_Justification, GACT_STRINGLEFT,
  557.                                                                                                                 STRINGA_MinVisible, 0,
  558.                                                                                                                 STRINGA_HookType, SHK_CUSTOM,
  559.                                                                                                End,
  560.                                                                                                CHILD_Label, (Object *) Gadget1[7] = (Object *) LabelObject,
  561.                                                                                                                 LABEL_Justification, 0,
  562.                                                                                                                 LABEL_Text, LOCALE_STRING2_LABEL,
  563.                                                                                                End,
  564.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[8] = (Object *) StringObject,
  565.                                                                                                                 GA_ID, 17,
  566.                                                                                                                 GA_RelVerify, TRUE,
  567.                                                                                                                 GA_GadgetHelp, TRUE,
  568.                                                                                                                 GA_TabCycle, TRUE,
  569.                                                                                                                 GA_ReadOnly, TRUE,
  570.                                                                                                                 STRINGA_TextVal, "",
  571.                                                                                                                 STRINGA_MaxChars, 20,
  572.                                                                                                                 STRINGA_Justification, GACT_STRINGLEFT,
  573.                                                                                                                 STRINGA_MinVisible, 0,
  574.                                                                                                                 STRINGA_HookType, SHK_CUSTOM,
  575.                                                                                                End,
  576.                                                                                                CHILD_Label, (Object *) Gadget1[9] = (Object *) LabelObject,
  577.                                                                                                                 LABEL_Justification, 0,
  578.                                                                                                                 LABEL_Text, LOCALE_STRING3_LABEL,
  579.                                                                                                End,
  580.                                                                               End,
  581.                                                                               LAYOUT_AddChild, (Object *) Gadget1[10] = (Object *) SpaceObject,
  582.                                                                                                GA_ID, 17,
  583.                                                                                                GA_RelVerify, TRUE,
  584.                                                                                                GA_GadgetHelp, TRUE,
  585.                                                                                                SPACE_BevelStyle, 4,
  586.                                                                               End,
  587.                                                                               LAYOUT_AddChild, (Object *) Gadget1[11] = (Object *) LayoutObject,
  588.                                                                                                GA_ID, 6,
  589.                                                                                                GA_RelVerify, TRUE,
  590.                                                                                                GA_GadgetHelp, TRUE,
  591.                                                                                                LAYOUT_Label, LOCALE_VERTICAL_LAYOUT3,
  592.                                                                                                LAYOUT_Orientation, 1,
  593.                                                                                                LAYOUT_LeftSpacing, 5,
  594.                                                                                                LAYOUT_TopSpacing, 5,
  595.                                                                                                LAYOUT_BottomSpacing, 5,
  596.                                                                                                LAYOUT_RightSpacing, 5,
  597.                                                                                                LAYOUT_InnerSpacing, 5,
  598.                                                                                                LAYOUT_HorizAlignment, LALIGN_LEFT,
  599.                                                                                                LAYOUT_VertAlignment, LALIGN_TOP,
  600.                                                                                                LAYOUT_LabelPlace, BVJ_TOP_LEFT,
  601.                                                                                                LAYOUT_BevelState, IDS_NORMAL,
  602.                                                                                                LAYOUT_BevelStyle, 2,
  603.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[12] = (Object *) ButtonObject,
  604.                                                                                                                 GA_ID, 2,
  605.                                                                                                                 GA_RelVerify, TRUE,
  606.                                                                                                                 GA_GadgetHelp, TRUE,
  607.                                                                                                                 GA_Text, LOCALE_BUTTON1_LABEL,
  608.                                                                                                                 BUTTON_AutoButton, 0,
  609.                                                                                                                 BUTTON_BevelStyle, 1,
  610.                                                                                                                 BUTTON_Justification, 1,
  611.                                                                                                End,
  612.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[13] = (Object *) ButtonObject,
  613.                                                                                                                 GA_ID, 7,
  614.                                                                                                                 GA_RelVerify, TRUE,
  615.                                                                                                                 GA_GadgetHelp, TRUE,
  616.                                                                                                                 GA_Text, LOCALE_BUTTON2_LABEL,
  617.                                                                                                                 BUTTON_AutoButton, 0,
  618.                                                                                                                 BUTTON_BevelStyle, 1,
  619.                                                                                                                 BUTTON_Justification, 1,
  620.                                                                                                End,
  621.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[14] = (Object *) ButtonObject,
  622.                                                                                                                 GA_ID, 12,
  623.                                                                                                                 GA_RelVerify, TRUE,
  624.                                                                                                                 GA_GadgetHelp, TRUE,
  625.                                                                                                                 GA_Text, LOCALE_BUTTON3_LABEL,
  626.                                                                                                                 BUTTON_AutoButton, 0,
  627.                                                                                                                 BUTTON_BevelStyle, 1,
  628.                                                                                                                 BUTTON_Justification, 1,
  629.                                                                                                End,
  630.                                                                               End,
  631.                                                              End,
  632.                                                              LAYOUT_AddChild, (Object *) Gadget1[15] = (Object *) LayoutObject,
  633.                                                                               GA_ID, 14,
  634.                                                                               GA_RelVerify, TRUE,
  635.                                                                               GA_GadgetHelp, TRUE,
  636.                                                                               LAYOUT_Label, "",
  637.                                                                               LAYOUT_Orientation, 0,
  638.                                                                               LAYOUT_LeftSpacing, 5,
  639.                                                                               LAYOUT_TopSpacing, 5,
  640.                                                                               LAYOUT_BottomSpacing, 5,
  641.                                                                               LAYOUT_RightSpacing, 5,
  642.                                                                               LAYOUT_InnerSpacing, 5,
  643.                                                                               LAYOUT_HorizAlignment, LALIGN_LEFT,
  644.                                                                               LAYOUT_VertAlignment, LALIGN_TOP,
  645.                                                                               LAYOUT_LabelPlace, BVJ_TOP_LEFT,
  646.                                                                               LAYOUT_BevelState, IDS_NORMAL,
  647.                                                                               LAYOUT_BevelStyle, 4,
  648.                                                                               LAYOUT_AddChild, (Object *) Gadget1[16] = (Object *) StringObject,
  649.                                                                                                GA_ID, 15,
  650.                                                                                                GA_RelVerify, TRUE,
  651.                                                                                                GA_GadgetHelp, TRUE,
  652.                                                                                                GA_TabCycle, TRUE,
  653.                                                                                                GA_ReadOnly, TRUE,
  654.                                                                                                STRINGA_TextVal, "",
  655.                                                                                                STRINGA_MaxChars, 20,
  656.                                                                                                STRINGA_Justification, GACT_STRINGLEFT,
  657.                                                                                                STRINGA_MinVisible, 0,
  658.                                                                                                STRINGA_HookType, SHK_CUSTOM,
  659.                                                                               End,
  660.                                                                               CHILD_Label, (Object *) Gadget1[17] = (Object *) LabelObject,
  661.                                                                                                LABEL_Justification, 0,
  662.                                                                                                LABEL_Text, LOCALE_STRING1_LABEL,
  663.                                                                               End,
  664.                                                              End,
  665.                                             End,
  666.                         EndGroup,
  667.         EndWindow;
  668.     }
  669.  
  670.     if(Emperor_InitVar)
  671.     {
  672.         strcpy(Emperor_ExceptionString, "Error during initialization:\n\n");
  673.         switch(Emperor_InitVar)
  674.         {
  675.             case 1: strcat(Emperor_ExceptionString, "Can't open Amiga-library\n\"");
  676.                     strcat(Emperor_ExceptionString, Emperor_OccuredError);
  677.                     strcat(Emperor_ExceptionString, "\"\n\nProbably you haven't got a\ncorrect installed AmigaOS system !");
  678.                     break;
  679.             case 5: strcat(Emperor_ExceptionString, "Can't lock your public-screen."); break;
  680.             case 6: strcat(Emperor_ExceptionString, "Can't get visualinfo of your public-screen."); break;
  681.             case 7: strcat(Emperor_ExceptionString, "Can't create menu."); break;
  682.             case 8: strcat(Emperor_ExceptionString, "Can't create message-port."); break;
  683.         }
  684.         if(Emperor_InitVar >= 5) strcat(Emperor_ExceptionString, "\n\nMaybe there isn't enough memory !");
  685.         EmperorRequest_InitializationErrorRequest.es_StructSize = sizeof(struct EasyStruct);
  686.         EmperorRequest_InitializationErrorRequest.es_Flags = 0L;
  687.         EmperorRequest_InitializationErrorRequest.es_Title = (UBYTE *) "Program error";
  688.         EmperorRequest_InitializationErrorRequest.es_TextFormat = (UBYTE *) Emperor_ExceptionString;
  689.         EmperorRequest_InitializationErrorRequest.es_GadgetFormat = (UBYTE *) "Okay";
  690.         EasyRequest(NULL, &EmperorRequest_InitializationErrorRequest, NULL, NULL);
  691.         Emperor_QuitProgram();
  692.     }
  693.     else
  694.     {
  695.         SetProgramName("squid");
  696.         Startup();
  697.     }
  698. }
  699.  
  700. void Emperor_QuitProgram(void)
  701. {
  702.     Shutdown();
  703.     Emperor_CloseWindow_Window1();
  704.     if(WindowObject1) DisposeObject(WindowObject1);
  705.     if(AppPort) DeleteMsgPort(AppPort);
  706.     if(MsgPort) DeletePort(MsgPort);
  707.     if(vinfo) FreeVisualInfo(vinfo);
  708.     if(Screen1) UnlockPubScreen(NULL, Screen1);
  709.     if(Catalog) CloseCatalog(Catalog);
  710.     if(LabelBase) CloseLibrary(LabelBase);
  711.     if(GlyphBase) CloseLibrary(GlyphBase);
  712.     if(BitMapBase) CloseLibrary(BitMapBase);
  713.     if(BevelBase) CloseLibrary(BevelBase);
  714.     if(TextEditorBase) CloseLibrary(TextEditorBase);
  715.     if(TapeDeckBase) CloseLibrary(TapeDeckBase);
  716.     if(StringBase) CloseLibrary(StringBase);
  717.     if(SpeedBarBase) CloseLibrary(SpeedBarBase);
  718.     if(SpaceBase) CloseLibrary(SpaceBase);
  719.     if(SliderBase) CloseLibrary(SliderBase);
  720.     if(ScrollerBase) CloseLibrary(ScrollerBase);
  721.     if(RadioButtonBase) CloseLibrary(RadioButtonBase);
  722.     if(PaletteBase) CloseLibrary(PaletteBase);
  723.     if(ListBrowserBase) CloseLibrary(ListBrowserBase);
  724.     if(LayoutBase) CloseLibrary(LayoutBase);
  725.     if(IntegerBase) CloseLibrary(IntegerBase);
  726.     if(GradientSliderBase) CloseLibrary(GradientSliderBase);
  727.     if(GetScreenModeBase) CloseLibrary(GetScreenModeBase);
  728.     if(GetFontBase) CloseLibrary(GetFontBase);
  729.     if(GetFileBase) CloseLibrary(GetFileBase);
  730.     if(FuelGaugeBase) CloseLibrary(FuelGaugeBase);
  731.     if(DateBrowserBase) CloseLibrary(DateBrowserBase);
  732.     if(ColorWheelBase) CloseLibrary(ColorWheelBase);
  733.     if(ClickTabBase) CloseLibrary(ClickTabBase);
  734.     if(ChooserBase) CloseLibrary(ChooserBase);
  735.     if(CheckBoxBase) CloseLibrary(CheckBoxBase);
  736.     if(ButtonBase) CloseLibrary(ButtonBase);
  737.     if(RequesterBase) CloseLibrary(RequesterBase);
  738.     if(WindowBase) CloseLibrary(WindowBase);
  739.     if(ResourceBase) CloseLibrary(ResourceBase);
  740.     if(DOSLibBase) CloseLibrary(DOSLibBase);
  741.     if(ASLBase) CloseLibrary(ASLBase);
  742.     if(GadToolsBase) CloseLibrary(GadToolsBase);
  743.     if(LocaleBase) CloseLibrary(LocaleBase);
  744.     if(IntuitionBase) CloseLibrary(IntuitionBase);
  745.     exit(0);
  746. }
  747.  
  748. void Emperor_CloseWindow_Window1(void)
  749. {
  750.     if(os35)
  751.     {
  752.         DoMethod(WindowObject1, WM_CLOSE, NULL);
  753.         Window1 = NULL;
  754.         WindowSignals1 = 0L;
  755.     }
  756. }
  757.  
  758. struct Window *Emperor_OpenWindow_Window1(void)
  759. {
  760.     if(os35)
  761.     {
  762.         Window1 = RA_OpenWindow(WindowObject1);
  763.         GetAttr(WINDOW_SigMask, WindowObject1, &WindowSignals1);
  764.     }
  765.     return(Window1);
  766. }
  767.  
  768. STRPTR Emperor_GetGadgetAttr(struct Gadget *Emperor_GadgetName)
  769. {
  770.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  771.     STRPTR Emperor_GadgetAttrReturn = "";
  772.  
  773.     Emperor_GadgetAttrBuffer = 0L;
  774.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 1023;Emperor_GadgetCounter++)
  775.     {
  776.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  777.         {
  778.             switch(Emperor_Gadgetkind1[Emperor_GadgetCounter])
  779.             {
  780.                 case 0:
  781.                     GetAttr(GA_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  782.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  783.                     break;
  784.                 case 1:
  785.                     GetAttr(GA_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  786.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  787.                     break;
  788.                 case 2:
  789.                     GetAttr(CHOOSER_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  790.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  791.                     break;
  792.                 case 3:
  793.                     GetAttr(CLICKTAB_Current, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  794.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  795.                     break;
  796.                 case 6:
  797.                     GetAttr(FUELGAUGE_Level, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  798.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  799.                     break;
  800.                 case 10:
  801.                     GetAttr(GRAD_CurVal, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  802.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  803.                     break;
  804.                 case 11:
  805.                     GetAttr(INTEGER_Number, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  806.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  807.                     break;
  808.                 case 13:
  809.                     GetAttr(LISTBROWSER_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  810.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  811.                     break;
  812.                 case 14:
  813.                     GetAttr(PALETTE_Colour, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  814.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  815.                     break;
  816.                 case 15:
  817.                     GetAttr(RADIOBUTTON_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  818.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  819.                     break;
  820.                 case 16:
  821.                     GetAttr(SCROLLER_Top, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  822.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  823.                     break;
  824.                 case 17:
  825.                     GetAttr(SLIDER_Level, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  826.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  827.                     break;
  828.                 case 19:
  829.                     GetAttr(SPEEDBAR_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  830.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  831.                     break;
  832.                 case 20:
  833.                     GetAttr(STRINGA_TextVal, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  834.                     strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  835.                     break;
  836.                 case 22:
  837.                     GetAttr(GA_TEXTEDITOR_Contents, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  838.                     strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  839.                     break;
  840.             }
  841.             break;
  842.         }
  843.     }
  844.     return(Emperor_GadgetAttrReturn);
  845. }
  846.  
  847. void Emperor_SetGadgetAttr(struct Gadget *Emperor_GadgetName, STRPTR Emperor_GadgetValue)
  848. {
  849.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  850.     struct Window *Emperor_Whichwindow = NULL;
  851.  
  852.     Emperor_GadgetAttrBuffer = 0L;
  853.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 1023;Emperor_GadgetCounter++)
  854.     {
  855.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  856.         {
  857.             Emperor_Whichwindow = Window1;
  858.             switch(Emperor_Gadgetkind1[Emperor_GadgetCounter])
  859.             {
  860.                 case 0:
  861.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  862.                     break;
  863.                 case 1:
  864.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  865.                     break;
  866.                 case 2:
  867.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CHOOSER_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  868.                     break;
  869.                 case 3:
  870.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CLICKTAB_Current, stringtoint(Emperor_GadgetValue), TAG_DONE);
  871.                     break;
  872.                 case 6:
  873.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, FUELGAUGE_Level, stringtoint(Emperor_GadgetValue), TAG_DONE);
  874.                     break;
  875.                 case 10:
  876.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, INTEGER_Number, stringtoint(Emperor_GadgetValue), TAG_DONE);
  877.                     break;
  878.                 case 11:
  879.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GRAD_CurVal, stringtoint(Emperor_GadgetValue), TAG_DONE);
  880.                     break;
  881.                 case 13:
  882.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, LISTBROWSER_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  883.                     break;
  884.                 case 14:
  885.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, PALETTE_Colour, stringtoint(Emperor_GadgetValue), TAG_DONE);
  886.                     break;
  887.                 case 15:
  888.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, RADIOBUTTON_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  889.                     break;
  890.                 case 16:
  891.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, SCROLLER_Top, stringtoint(Emperor_GadgetValue), TAG_DONE);
  892.                     break;
  893.                 case 17:
  894.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, SLIDER_Level, stringtoint(Emperor_GadgetValue), TAG_DONE);
  895.                     break;
  896.                 case 19:
  897.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, SPEEDBAR_Selected, Emperor_GadgetValue, TAG_DONE);
  898.                     break;
  899.                 case 20:
  900.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, STRINGA_TextVal, Emperor_GadgetValue, TAG_DONE);
  901.                     break;
  902.                 case 22:
  903.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_TEXTEDITOR_Contents, Emperor_GadgetValue, TAG_DONE);
  904.                     break;
  905.             }
  906.             if(Emperor_GadgetAttrBuffer) RefreshGList(Emperor_GadgetName, Emperor_Whichwindow, NULL, 1);
  907.             break;
  908.         }
  909.     }
  910. }
  911.  
  912. ULONG stringlength(STRPTR Emperor_StringBuffer)
  913. {
  914.     ULONG Emperor_Counter = 0;
  915.  
  916.     while(Emperor_StringBuffer[Emperor_Counter] != NULL) Emperor_Counter++;
  917.     return(Emperor_Counter);
  918. }
  919.  
  920. LONG stringtoint(STRPTR Emperor_StringBuffer)
  921. {
  922.     return(atol(Emperor_StringBuffer));
  923. }
  924.  
  925. DOUBLE stringtofloat(STRPTR Emperor_StringBuffer)
  926. {
  927.     return(atof(Emperor_StringBuffer));
  928. }
  929.  
  930. STRPTR inttostring(LONG Emperor_NumberBuffer1)
  931. {
  932.     LONG Emperor_NumberBuffer2;
  933.     BYTE Emperor_NumberLength = 0;
  934.     BYTE Emperor_Counter = 0;
  935.     char *Emperor_ReturnBuffer = "abcdefghij";
  936.  
  937.     strcpy(Emperor_ReturnBuffer, "");
  938.     Emperor_ReturnBuffer[0] = NULL;
  939.     if(Emperor_NumberBuffer1 < 0)
  940.     {
  941.         strcpy(Emperor_ReturnBuffer, "-");
  942.         Emperor_NumberBuffer1 = -Emperor_NumberBuffer1;
  943.     }
  944.     if(Emperor_NumberBuffer1 > 0) Emperor_NumberLength = 1;
  945.     if(Emperor_NumberBuffer1/10 > 0) Emperor_NumberLength = 2;
  946.     if(Emperor_NumberBuffer1/100 > 0) Emperor_NumberLength = 3;
  947.     if(Emperor_NumberBuffer1/1000 > 0) Emperor_NumberLength = 4;
  948.     if(Emperor_NumberBuffer1/10000 > 0) Emperor_NumberLength = 5;
  949.     if(Emperor_NumberBuffer1/100000 > 0) Emperor_NumberLength = 6;
  950.     if(Emperor_NumberBuffer1/1000000 > 0) Emperor_NumberLength = 7;
  951.     if(Emperor_NumberBuffer1/10000000 > 0) Emperor_NumberLength = 8;
  952.     if(Emperor_NumberBuffer1/100000000 > 0) Emperor_NumberLength = 9;
  953.     if(Emperor_NumberBuffer1 == 0)  strcpy(Emperor_ReturnBuffer, "0");
  954.     else
  955.     {
  956.         Emperor_Counter = Emperor_NumberLength;
  957.         for(;Emperor_Counter > 0;Emperor_Counter--)
  958.         {
  959.             if(Emperor_Counter == 9) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/100000000;
  960.             if(Emperor_Counter == 8) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/10000000;
  961.             if(Emperor_Counter == 7) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/1000000;
  962.             if(Emperor_Counter == 6) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/100000;
  963.             if(Emperor_Counter == 5) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/10000;
  964.             if(Emperor_Counter == 4) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/1000;
  965.             if(Emperor_Counter == 3) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/100;
  966.             if(Emperor_Counter == 2) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/10;
  967.             if(Emperor_Counter == 1) Emperor_NumberBuffer2 = Emperor_NumberBuffer1;
  968.             if(Emperor_NumberBuffer2 == 0) strcat(Emperor_ReturnBuffer, "0");
  969.             if(Emperor_NumberBuffer2 == 1) strcat(Emperor_ReturnBuffer, "1");
  970.             if(Emperor_NumberBuffer2 == 2) strcat(Emperor_ReturnBuffer, "2");
  971.             if(Emperor_NumberBuffer2 == 3) strcat(Emperor_ReturnBuffer, "3");
  972.             if(Emperor_NumberBuffer2 == 4) strcat(Emperor_ReturnBuffer, "4");
  973.             if(Emperor_NumberBuffer2 == 5) strcat(Emperor_ReturnBuffer, "5");
  974.             if(Emperor_NumberBuffer2 == 6) strcat(Emperor_ReturnBuffer, "6");
  975.             if(Emperor_NumberBuffer2 == 7) strcat(Emperor_ReturnBuffer, "7");
  976.             if(Emperor_NumberBuffer2 == 8) strcat(Emperor_ReturnBuffer, "8");
  977.             if(Emperor_NumberBuffer2 == 9) strcat(Emperor_ReturnBuffer, "9");
  978.             if(Emperor_Counter == 9) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*100000000;
  979.             if(Emperor_Counter == 8) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*10000000;
  980.             if(Emperor_Counter == 7) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*1000000;
  981.             if(Emperor_Counter == 6) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*100000;
  982.             if(Emperor_Counter == 5) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*10000;
  983.             if(Emperor_Counter == 4) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*1000;
  984.             if(Emperor_Counter == 3) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*100;
  985.             if(Emperor_Counter == 2) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*10;
  986.             if(Emperor_Counter == 1) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2;
  987.         }
  988.     }
  989.     return(Emperor_ReturnBuffer);
  990. }
  991.  
  992. #include <squid.h>
  993.